<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
    <th:block th:include="include :: header('省份医院列表')"/>
</head>
<body class="gray-bg">
<div class="container-div">
    <div class="row">
        <div class="col-sm-12 search-collapse none">
            <form id="dept-form">
                <div class="select-list">
                    <ul>
                        <li>
                            机构名称：<input type="text" name="deptName" maxlength="30"/>
                        </li>
                        <li>
                            机构状态：<select name="status" th:with="type=${@dict.getType('sys_normal_disable')}">
                            <option value="">所有</option>
                            <option th:each="dict : ${type}" th:text="${dict.dictLabel}"
                                    th:value="${dict.dictValue}"></option>
                        </select>
                        </li>
                        <li>
                            <a class="btn btn-primary btn-rounded btn-sm" onclick="$.treeTable.search()"><i
                                    class="fa fa-search"></i>&nbsp;搜索</a>
                            <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()">
                                <i class="fa fa-refresh"></i>&nbsp;重置</a>
                        </li>
                    </ul>
                </div>
            </form>
        </div>

        <!--<div class="btn-group-sm" id="toolbar" role="group">
            <a class="btn btn-success" onclick="$.operate.addTab(-1)"
               shiro:hasPermission="system:dept:add">
                <i class="fa fa-plus"></i> 新增
            </a>
            <a class="btn btn-primary" onclick="$.operate.editTab(\'' + row.deptId + '\')"
               shiro:hasPermission="system:dept:edit">
                <i class="fa fa-edit"></i> 修改
            </a>
            <a class="btn btn-primary" onclick="$.operate.remove(\'' + row.deptId + '\')"
               shiro:hasPermission="system:dept:edit">
               <i class="fa fa-trash"></i>删除
            </a>
            &lt;!&ndash;     todo 如果超级管理员、省、市卫健委 开启此权限 可能造成加载拥堵慢   admin_m_county,      &ndash;&gt;
            <a shiro:hasAnyRoles="admin_h_province,admin_h_city,admin_h_county,admin_x_township" class="btn btn-info"
               id="expandAllBtn">
                <i class="fa fa-exchange"></i> 展开/折叠
            </a>
        </div>-->
        <div class="col-sm-12 select-table table-striped">
            <table id="bootstrap-tree-table"></table>
        </div>
    </div>
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
    var addFlag = [[${@permission.hasPermi('system:dept:add')}]];
    var editFlag = [[${@permission.hasPermi('system:dept:edit')}]];
    var removeFlag = [[${@permission.hasPermi('system:dept:remove')}]];
    var listFlag = [[${@permission.hasPermi('system:dept:list')}]];

    var deptsFlag = [[${@permission.hasPermi('system:dept:depts')}]];
    var warningFlag = [[${@permission.hasPermi('system:dept:warning')}]];

    var datas = [[${@dict.getType('sys_normal_disable')}]];
    var dept_type = [[${@dict.getType('DEPT_TYPE')}]];
    var hospitalGrade = [[${@dict.getType('yf_hospital_grade')}]];
    var prefix = ctx + "system/dept"

    function listTypeTree(id) {
        doPost("/action/type/listTypeTree", {}, function (objs) {
            if (objs.success) {
                var data = objs.data;
                if (null == data) {
                    showErrorMsg("", "类别信息失败！");
                    return;
                }
                var obj = $("#" + id + " > div");
                for (var item in data) {
                    appendNodeToTree('typeLiId', data[item]);
                }
                bindEvent();
            } else {

            }
        });
    }

    /**追加节点*/
    function appendNodeToTree(id, data) {
        for (var i = 0, l = data.length; i < l; i++) {
            $("#row_id_0_0").append('<li data-content="' + data[i].deptId + '"><span><i class="icon-leaf"></i>' + data[i].deptName + '</span><ul id="typeLiId' + data[i].deptId + '"></ul></li>');
        }
    }

    /**从bootstrap-tree.js拷贝*/
    function bindEvent() {
        $('.tree > ul').attr('role', 'tree').find('ul').attr('role', 'group');
        $('.tree').find('li:has(ul)').addClass('parent_li').attr('role', 'treeitem').find(' > span').attr('title', 'Collapse this branch').on('click', function (e) {
            var children = $(this).parent('li.parent_li').find(' > ul > li');
            if (children.is(':visible')) {
                children.hide('fast');
                $(this).attr('title', 'Expand this branch').find(' > i').addClass('icon-plus-sign').removeClass('icon-minus-sign');
            } else {
                children.show('fast');
                $(this).attr('title', 'Collapse this branch').find(' > i').addClass('icon-minus-sign').removeClass('icon-plus-sign');
            }
            e.stopPropagation();
        });
    }

    //获取当前节点下的机构数据
    function refresh_child(id) {
        console.log(id, this)
        $.post(prefix + "/list", {
            parentId: id
        }, function (res) {
            console.log(res)
            for (var item in res) {
                // $.bootstrapTreeTable.renderRow( res[item], false, 1, "", "");
            }
        })
    }

    // setTimeout(function () {
    //     console.log("注册")
    //     $(".treetable-expander").click(function (t) {
    //         console.log(this)
    //     })
    // },5000)

    //超级管机员、平台管理员、省卫建委、市卫健委 动态加载
    var admin = [[${@permission.isAnyRoles('admin,admin_m,admin_m_province,admin_m_city,admin_m_county')}]]
    let dept = [[${@permission.getPrincipalProperty('dept')}]];

    console.log(getQueryParamsData())

    //卫监局、医院全部加载
    function getQueryParamsData() {
        if (admin) {
            return {
                ancestors: dept.ancestors,
                deptId: dept.deptId
            }
        } else
            return {}
    }

    console.log(admin)
    $(function () {
        var width = 50;
        if (editFlag == '') width += 55;
        if (addFlag == '') width += 55;
        if (removeFlag == '') width += 55;
        if (deptsFlag == '') width += 55;
        if (warningFlag == '') width += 55;
        var options = {
            code: "deptId",
            parentCode: "parentId",
            uniqueId: "deptId",
            url: prefix + "/list",
            createUrl: prefix + "/add/{id}",
            updateUrl: prefix + "/edit/{id}",
            removeUrl: prefix + "/remove/{id}",
            modalName: "机构",
            expandFirst: true,//
            expandAll: true,//如果关闭 区县卫监局 显示会出现问题
            striped: false,
            dynamic: admin,
            ajaxParams: getQueryParamsData(),
            columns: [
                {
                    field: 'selectItem',
                    radio: true
                },
                {
                    field: 'deptName',
                    title: '机构名称',
                    width: '30%',
                    align: "left",
                },
                {
                    field: 'orderNum',
                    title: '排序',
                    visible: false,
                    align: "left"
                },
                {
                    field: 'extName',
                    title: '地区'
                },
                {
                    field: 'hospitalGrade',
                    title: '等级',
                    align: "left",
                    width: '10%',
                    formatter: function (value, item, index) {
                        // console.log(item)
                        return $.table.selectDictLabel(hospitalGrade, item.hospitalGrade);
                        // return $.table.selectListLabel(hospitalGrade, item.hospitalGrade, "dictValue", "dictLabel");
                    }
                },
                {
                    field: 'status',
                    title: '状态',
                    align: "left",
                    formatter: function (value, item, index) {
                        return $.table.selectDictLabel(datas, item.status);
                    }
                },
                {
                    field: 'createTime',
                    title: '创建时间',
                    align: "left",
                    visible: false
                },
                {
                    field: 'deptType',
                    title: '机构类型',
                    formatter: function (value, item, index) {
                        return $.table.selectDictLabel(dept_type, item.deptType);
                    }
                },
                // {
                //     field : 'coordinates',
                //     title : '地理坐标'
                // },
                {
                    title: '操作',
                    width: width + 'px',
                    align: 'left',
                    formatter: function (value, row, index) {
                        if (row.parentId != 0) {
                            var actions = [];
                            actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.editTab(\'' + row.deptId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
                            actions.push('<a class="btn btn-info  btn-xs ' + addFlag + '" href="javascript:void(0)" onclick="$.operate.addTab(\'' + row.deptId + '\')"><i class="fa fa-plus"></i>新增</a> ');
                            actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.deptId + '\')"><i class="fa fa-trash"></i>删除</a> ');
                            if (row.deptType == 220 || row.deptType == 230 || row.deptType == 270 || row.deptType == 290 || row.deptType == 280 || row.deptType == 320) {
                                actions.push('<a class="btn btn-info  btn-xs ' + addFlag + '" href="javascript:void(0)" onclick="openContract(\'' + row.deptId + '\');"><i class="fa fa-plus"></i>合同</a> ');
                                actions.push('<a class="btn btn-primary btn-xs ' + deptsFlag + '" href="javascript:void(0)" onclick="detail(\'' + row.deptName + '\',\'' + row.deptId + '\')"><i class="fa fa-list-ul"></i>科室</a> ');
                                actions.push('<a class="btn btn-warning btn-xs ' + warningFlag + '" href="javascript:void(0)" onclick="detailYJ(\'' + row.deptName + '\',\'' + row.deptId + '\')"><i class="fa fa-list-ul"></i>预警</a> ');
                            }
                            return actions.join('');
                        } else {
                            return "";
                        }
                    }
                }]
        };
        $.treeTable.init(options);

    });


    function openContract(id) {
        let contractUrl = ctx + "yf/medicalHospitalRelationship/addOrEdit/" + id;
        $.modal.open("医疗废物处理合同", contractUrl);
    }


    /*医院列表-详细*/
    function detail(name, hostId) {
        // console.log(name, hostId)
        //修改session 医院id
        // sessionStorage.setItem("hospital_ids", hostId);
        // $.getHospitalId();
        //修改搜索栏名称
        var url = ctx + 'yf/dept';
        $.modal.openTab("科室管理", url);
    }

    /*医院预警管理*/
    function detailYJ(name, hostId) {
        console.log(name, hostId)
        var url = ctx + 'yf/warning';
        $.modal.openTab("预警管理", url);
    }
</script>
</body>
</html>